Remote network access to computer desktops sometimes involves transferring large amounts of data between the controlling desktop (e.g., the client) and the controlled desktop (e.g., the server). For example, this situation is common when the data comprises a representation of the controlled desktop screen graphics. Since this type of remote control operation ideally occurs in near-real time, performance speed can be important to the user.
Some techniques have been designed to reduce the amount of information communicated between the two desktops. Two examples include Remote Frame Buffer (RFB) caching, and Virtual Network Computing remote X-server session access (x11vnc) caching. RFB caching can be inefficient when entire windows are cached, even though only small changes occur within the cached window. x11vnc caching, which can operate on smaller portions of a window, is often memory-intensive in nature.